package com.ctshk.rpc.custom.dto.inquiry;

import com.ctshk.rpc.custom.dto.OperationLogDTO;
import com.ctshk.rpc.custom.dto.ServiceRequireDTO;
import com.ctshk.rpc.custom.dto.quotation.QuotationTouristTypeDTO;
import com.ctshk.rpc.custom.json.ContactTelephoneJson;
import com.ctshk.rpc.custom.req.ContactReq;
import com.ctshk.rpc.custom.req.TravelDaysReq;
import com.ctshk.rpc.custom.req.inquiry.InquiryRequireReq;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * 询价单详情
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-01-15
 */
@Data
@ApiModel(value="CustomizedInquiryInfoDto对象", description="询价单详情")
public class InquiryInfoDTO implements Serializable {

    @ApiModelProperty(value = "询价单id")
    private Long id;
    @ApiModelProperty(value = "询价单标题")
    private String inquiryTitle;
    @ApiModelProperty(value = "询价单号")
    private String inquiryNumber;

    @ApiModelProperty(value = "报价单号")
    private String quotationNumber;

    @ApiModelProperty(value = "目的地")
    private String destination;
    @ApiModelProperty(value = "目的地id")
    private Long destinationId;
    @ApiModelProperty(value = "出发地id")
    private Long departurePlaceId;
    @ApiModelProperty(value = "出发地")
    private String departurePlace;
    @ApiModelProperty(value = "预计出发日期")
    private LocalDate departureDate;
    @ApiModelProperty(value = "出行天数")
    private TravelDaysReq travelDaysReq;
    @ApiModelProperty(value = "旅客类型明细")
    private List<QuotationTouristTypeDTO> touristTypes;
    @ApiModelProperty(value = "总计人数")
    private Integer totalPeopleNum;
    @ApiModelProperty(value = "人均预算")
    private BigDecimal capitaBudget;
    @ApiModelProperty(value = "OP的ID")
    private Long opId;
    @ApiModelProperty(value = "OP的员工号")
    private String opNumber;
    @ApiModelProperty(value = "OP姓名")
    private String opName;
    @ApiModelProperty(value = "OP部门")
    private String opDepart;
    @ApiModelProperty(value = "OP手机")
    private String opPhone;
    @ApiModelProperty(value = "询价截止时间")
    private LocalDate inquiryEndTime;
    @ApiModelProperty(value = "销售员工号")
    private String salespersonNumber;
    @ApiModelProperty(value = "销售姓名")
    private String salespersonName;
    @ApiModelProperty(value = "销售部门")
    private String salespersonDepart;
    @ApiModelProperty(value = "销售手机")
    private String salespersonPhone;
    @ApiModelProperty(value = "服务要求附件")
    private String serviceRequireFiles;
    @ApiModelProperty(value = "客户名单文件")
    private String customerListFiles;
    @ApiModelProperty(value = "客户类型(1 散客 2 大客户)")
    private Integer customerType;
    @ApiModelProperty(value = "大客户ID")
    private Long bigClientId;
    @ApiModelProperty(value = "大客户名称")
    private String bigClientName;
    @ApiModelProperty(value = "大客户部门")
    private String bigClientDepart;
    @ApiModelProperty(value = "联络人")
    private ContactReq contactReq;
    @ApiModelProperty(value = "联络人性别")
    private Long contactGender;
    /*@ApiModelProperty(value = "联络人电话（英文逗号隔开）")
    private String contactTelephones;*/

    @ApiModelProperty(value = "联络电话")
    private List<ContactTelephoneJson> contactTelephoneJsonList;

    @ApiModelProperty(value = "联系邮箱")
    private String contactEmail;
    @ApiModelProperty(value = "内部备注")
    private String internalRemark;
    @ApiModelProperty(value = "询价单状态(1 未询价,2 未处理,3 已超时,4 已同意,5 已拒绝)")
    private Integer inquiryStatus;
    @ApiModelProperty(value = "拒绝说明")
    private String refuseRemark;
    @ApiModelProperty(value = "拒绝时间")
    private LocalDateTime refuseTime;
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime gmtCreate;
    @ApiModelProperty(value = "服务要求")
    private List<ServiceRequireDTO> serviceRequires;
    @ApiModelProperty(value = "操作记录")
    private List<OperationLogDTO> operationLogDtoList;

    @ApiModelProperty(value = "联系人姓名（C端）")
    private String contactName;

    @ApiModelProperty(value = "手机区号（记录C端未登录用户）")
    private String phoneCode;

    @ApiModelProperty(value = "手机号（记录C端未登录用户）")
    private String phone;

    @ApiModelProperty(value = " 出行性质（1 個人/家庭定制 2 企業/團隊定制 3 會議會獎）")
    private Integer travelType;

    @ApiModelProperty(value = "C端主题json")
    private List<InquiryRequireReq> themeJson;

}
